Inlining in Gforth: Early Experiences
نویسندگان
چکیده
Many optimizations are easier or more effective for straight-line code (basic blocks). Straight-line code in Forth is limited mainly by calls and returns. Inlining eliminates calls and returns, which in turn makes the basic blocks longer, and increases the effectiveness of other optimizations. In this paper we present a first prototype implementation of ininlining for Gforth.
منابع مشابه
State-smartness | Why It Is Evil and How to Exorcise It
State-smart words provide a number of unpleasant surprises to their users. They are applied in two contexts, and they fail in both: 1) for providing an arbitrary combination of interpretation and compilation semantics; 2) for optimizing with a special implementation of the (default) compilation semantics. This paper discusses these issues and shows programmers and system implementors how to avo...
متن کاملImplementation Issues for Superinstructions in Gforth
Combining Forth primitives into superinstructions provides nice speedups. Several approaches to superinstructions were explored in the Gforth project. This paper discusses the effects of these approaches on performance, compilation time, implementation effort, and on programming tools such as the decompiler and backtracing.
متن کاملAn Efficient Function Inlining Scheme for Resource-Constrained Embedded Systems
Function inlining schemes are used to reduce the execution time of a program, but function inlining usually increases the code space due to the use of inlined functions. There are extreme limitations of memory space and battery capacity in embedded systems such as wireless sensor nodes. Function inlining should be performed selectively. If we reduce the execution time of a program by means of f...
متن کاملEvaluating Inlining Techniques
For eciency and ease of implementation, many compilers implicitly impose an ``inlining policy'' to restrict the conditions under which a procedure may be inlined. An inlining technique consists of an inlining policy and a strategy for choosing a sequence of inlining operations that is consistent with the policy. The eectiveness of an inlining technique is aected by the restrictiveness of the...
متن کاملFast and Eeective Procedure Inlining
Inlining is an important optimization for programs that use procedural abstraction. Because inlining trades code size for execution speed, the e ectiveness of an inlining algorithm is determined not only by its ability to recognize inlining opportunities but also by its discretion in exercising those opportunities. This paper presents a new inlining algorithm for higher-order languages that com...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004